const db = wx.cloud.database();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        list: [],
        more:true,
        pageNo: 0,
        pageSize: 4
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        this.getList(true);
    },

    getList(init, cb) {
        wx.showLoading({
            title: 'loading...',
        });
        const _this = this;
        let query = db.collection('books').orderBy('create_time', 'desc');
        


        if (init) {
            this.data.pageNo = 0;
        } else {
            this.data.pageNo++;
        }

        let skipNum = this.data.pageNo * this.data.pageSize;

        if(skipNum > 0){
            query = query.skip(skipNum);
        }

        query.limit(this.data.pageSize).get().then(r => {
            let books = r.data;
            if (init) {
                _this.setData({
                    list: books,
                    more:books.length > 0
                }, () => {
                    cb && cb();

                    wx.hideLoading()
                })
            } else {
                _this.setData({
                    list: [...this.data.list, ...books],
                    more: books.length > 0
                }, () => {
                    cb && cb();

                    wx.hideLoading()
                })
            }
        })

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {
        wx.showNavigationBarLoading();
        this.getList(true,()=>{
            wx.hideNavigationBarLoading();
            wx.stopPullDownRefresh();
        })
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {
        if(!this.data.more){
            return;
        }
        wx.showNavigationBarLoading();
        this.getList(false,()=>{
            wx.hideNavigationBarLoading();
        })
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})